1. Field
One or more embodiments relate to methods and apparatuses for performing a multipass simulation, and more particularly, to methods and apparatuses for performing a simulation by using a plurality of processors in parallel.
2. Description of the Related Art
Simulation is a tool that has been extensively used in various science and technology fields for a long period of time. Simulation is used when it is inconvenient, expensive, unrealistic, or impossible to perform a particular task in the real world. Through simulation, an experimenter may perform a task by smoothly controlling input data and parameters, and understand a result and a system state in a process of drawing a conclusion. By using simulation, experimental costs may be reduced, a development period may be shortened, and product quality may be improved. In addition, a system that has not been implemented in a real product may be used in an experiment. For the same reasons, a computer may be used to simulate other computers.
A microarchitecture simulator enables evaluation of a design before a developer implements the design. A problem of simulation is that a time for executing a simulation is much longer than a time for executing a real system. To solve such a problem, two types of simulations may be selectively used: an instruction-set simulation and a cycle accurate simulation. An instruction-set simulation simulates an operation of an instruction-set architecture of a target processor, by using a high-level programming language such as, for example, Java, formula translation/translator (FORTRAN), common business-oriented language (COBOL), pattern analysis, statistical modeling and computational learning (PASCAL), C language, list processing language (LISP), and programming in logic (Prolog), or the like. An instruction-set simulation provides a high execution speed, but only a small amount of simulation information. A cycle accurate simulation simulates microarchitecture on a cycle-by-cycle basis. A cycle accurate simulation provides a large amount of simulation information, but a comparatively low execution speed.